﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace PickGold.Handler
{
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE>();
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE, T>(T p);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE, T, T1>(T p, T1 p1);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <typeparam name="T2">参数三的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <param name="p2">参数三</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE, T, T1, T2>(T p, T1 p1, T2 p2);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <typeparam name="T2">参数三的类型</typeparam>
	/// <typeparam name="T3">参数四的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <param name="p2">参数三</param>
	/// <param name="p3">参数四</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE, T, T1, T2, T3>(T p, T1 p1, T2 p2, T3 p3);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <typeparam name="T2">参数三的类型</typeparam>
	/// <typeparam name="T3">参数四的类型</typeparam>
	/// <typeparam name="T4">参数五的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <param name="p2">参数三</param>
	/// <param name="p3">参数四</param>
	/// <param name="p4">参数五</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE, T, T1, T2, T3, T4>(T p, T1 p1, T2 p2, T3 p3, T4 p4);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <typeparam name="T2">参数三的类型</typeparam>
	/// <typeparam name="T3">参数四的类型</typeparam>
	/// <typeparam name="T4">参数五的类型</typeparam>
	/// <typeparam name="T5">参数六的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <param name="p2">参数三</param>
	/// <param name="p3">参数四</param>
	/// <param name="p4">参数五</param>
	/// <param name="p5">参数六</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE, T, T1, T2, T3, T4, T5>(T p, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <typeparam name="T2">参数三的类型</typeparam>
	/// <typeparam name="T3">参数四的类型</typeparam>
	/// <typeparam name="T4">参数五的类型</typeparam>
	/// <typeparam name="T5">参数六的类型</typeparam>
	/// <typeparam name="T6">参数七的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <param name="p2">参数三</param>
	/// <param name="p3">参数四</param>
	/// <param name="p4">参数五</param>
	/// <param name="p5">参数六</param>
	/// <param name="p6">参数七</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE, T, T1, T2, T3, T4, T5, T6>(T p, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5, T6 p6);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <typeparam name="T2">参数三的类型</typeparam>
	/// <typeparam name="T3">参数四的类型</typeparam>
	/// <typeparam name="T4">参数五的类型</typeparam>
	/// <typeparam name="T5">参数六的类型</typeparam>
	/// <typeparam name="T6">参数七的类型</typeparam>
	/// <typeparam name="T7">参数八的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <param name="p2">参数三</param>
	/// <param name="p3">参数四</param>
	/// <param name="p4">参数五</param>
	/// <param name="p5">参数六</param>
	/// <param name="p6">参数七</param>
	/// <param name="p7">参数八</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE, T, T1, T2, T3, T4, T5, T6, T7>(T p, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5, T6 p6, T7 p7);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <typeparam name="T2">参数三的类型</typeparam>
	/// <typeparam name="T3">参数四的类型</typeparam>
	/// <typeparam name="T4">参数五的类型</typeparam>
	/// <typeparam name="T5">参数六的类型</typeparam>
	/// <typeparam name="T6">参数七的类型</typeparam>
	/// <typeparam name="T7">参数八的类型</typeparam>
	/// <typeparam name="T8">参数九的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <param name="p2">参数三</param>
	/// <param name="p3">参数四</param>
	/// <param name="p4">参数五</param>
	/// <param name="p5">参数六</param>
	/// <param name="p6">参数七</param>
	/// <param name="p7">参数八</param>
	/// <param name="p8">参数九</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE, T, T1, T2, T3, T4, T5, T6, T7, T8>(T p, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5, T6 p6, T7 p7, T8 p8);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <typeparam name="T2">参数三的类型</typeparam>
	/// <typeparam name="T3">参数四的类型</typeparam>
	/// <typeparam name="T4">参数五的类型</typeparam>
	/// <typeparam name="T5">参数六的类型</typeparam>
	/// <typeparam name="T6">参数七的类型</typeparam>
	/// <typeparam name="T7">参数八的类型</typeparam>
	/// <typeparam name="T8">参数九的类型</typeparam>
	/// <typeparam name="T9">参数十的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <param name="p2">参数三</param>
	/// <param name="p3">参数四</param>
	/// <param name="p4">参数五</param>
	/// <param name="p5">参数六</param>
	/// <param name="p6">参数七</param>
	/// <param name="p7">参数八</param>
	/// <param name="p8">参数九</param>
	/// <param name="p9">参数十</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE, T, T1, T2, T3, T4, T5, T6, T7, T8, T9>(T p, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5, T6 p6, T7 p7, T8 p8, T9 p9);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE, T, T1, T2, T3, T4, T5, T6, T7, T8, T9, Ta>(T p, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5, T6 p6, T7 p7, T8 p8, T9 p9, Ta pA);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE, T, T1, T2, T3, T4, T5, T6, T7, T8, T9, Ta, Tb>(T p, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5, T6 p6, T7 p7, T8 p8, T9 p9, Ta pA, Tb pB);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE, T, T1, T2, T3, T4, T5, T6, T7, T8, T9, Ta, Tb, Tc>(T p, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5, T6 p6, T7 p7, T8 p8, T9 p9, Ta pA, Tb pB, Tc pC);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE, T, T1, T2, T3, T4, T5, T6, T7, T8, T9, Ta, Tb, Tc, Td>(T p, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5, T6 p6, T7 p7, T8 p8, T9 p9, Ta pA, Tb pB, Tc pC, Td pD);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE, T, T1, T2, T3, T4, T5, T6, T7, T8, T9, Ta, Tb, Tc, Td, Te>(T p, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5, T6 p6, T7 p7, T8 p8, T9 p9, Ta pA, Tb pB, Tc pC, Td pD, Te pE);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HByReturnDelegate<TYPE, T, T1, T2, T3, T4, T5, T6, T7, T8, T9, Ta, Tb, Tc, Td, Te, Tf>(T p, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5, T6 p6, T7 p7, T8 p8, T9 p9, Ta pA, Tb pB, Tc pC, Td pD, Te pE, Tf pF);

	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HFunction<TYPE, T>(ref T p);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HFunction<TYPE, T, T1>(ref T p, ref T1 p1);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <typeparam name="T2">参数三的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <param name="p2">参数三</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HFunction<TYPE, T, T1, T2>(ref T p, ref T1 p1, ref T2 p2);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <typeparam name="T2">参数三的类型</typeparam>
	/// <typeparam name="T3">参数四的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <param name="p2">参数三</param>
	/// <param name="p3">参数四</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HFunction<TYPE, T, T1, T2, T3>(ref T p, ref T1 p1, ref T2 p2, ref T3 p3);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <typeparam name="T2">参数三的类型</typeparam>
	/// <typeparam name="T3">参数四的类型</typeparam>
	/// <typeparam name="T4">参数五的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <param name="p2">参数三</param>
	/// <param name="p3">参数四</param>
	/// <param name="p4">参数五</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HFunction<TYPE, T, T1, T2, T3, T4>(ref T p, ref T1 p1, ref T2 p2, ref T3 p3, ref T4 p4);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <typeparam name="T2">参数三的类型</typeparam>
	/// <typeparam name="T3">参数四的类型</typeparam>
	/// <typeparam name="T4">参数五的类型</typeparam>
	/// <typeparam name="T5">参数六的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <param name="p2">参数三</param>
	/// <param name="p3">参数四</param>
	/// <param name="p4">参数五</param>
	/// <param name="p5">参数六</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HFunction<TYPE, T, T1, T2, T3, T4, T5>(ref T p, ref T1 p1, ref T2 p2, ref T3 p3, ref T4 p4, ref T5 p5);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <typeparam name="T2">参数三的类型</typeparam>
	/// <typeparam name="T3">参数四的类型</typeparam>
	/// <typeparam name="T4">参数五的类型</typeparam>
	/// <typeparam name="T5">参数六的类型</typeparam>
	/// <typeparam name="T6">参数七的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <param name="p2">参数三</param>
	/// <param name="p3">参数四</param>
	/// <param name="p4">参数五</param>
	/// <param name="p5">参数六</param>
	/// <param name="p6">参数七</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HFunction<TYPE, T, T1, T2, T3, T4, T5, T6>(ref T p, ref T1 p1, ref T2 p2, ref T3 p3, ref T4 p4, ref T5 p5, ref T6 p6);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <typeparam name="T2">参数三的类型</typeparam>
	/// <typeparam name="T3">参数四的类型</typeparam>
	/// <typeparam name="T4">参数五的类型</typeparam>
	/// <typeparam name="T5">参数六的类型</typeparam>
	/// <typeparam name="T6">参数七的类型</typeparam>
	/// <typeparam name="T7">参数八的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <param name="p2">参数三</param>
	/// <param name="p3">参数四</param>
	/// <param name="p4">参数五</param>
	/// <param name="p5">参数六</param>
	/// <param name="p6">参数七</param>
	/// <param name="p7">参数八</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HFunction<TYPE, T, T1, T2, T3, T4, T5, T6, T7>(ref T p, ref T1 p1, ref T2 p2, ref T3 p3, ref T4 p4, ref T5 p5, ref T6 p6, ref T7 p7);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <typeparam name="T2">参数三的类型</typeparam>
	/// <typeparam name="T3">参数四的类型</typeparam>
	/// <typeparam name="T4">参数五的类型</typeparam>
	/// <typeparam name="T5">参数六的类型</typeparam>
	/// <typeparam name="T6">参数七的类型</typeparam>
	/// <typeparam name="T7">参数八的类型</typeparam>
	/// <typeparam name="T8">参数九的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <param name="p2">参数三</param>
	/// <param name="p3">参数四</param>
	/// <param name="p4">参数五</param>
	/// <param name="p5">参数六</param>
	/// <param name="p6">参数七</param>
	/// <param name="p7">参数八</param>
	/// <param name="p8">参数九</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HFunction<TYPE, T, T1, T2, T3, T4, T5, T6, T7, T8>(ref T p, ref T1 p1, ref T2 p2, ref T3 p3, ref T4 p4, ref T5 p5, ref T6 p6, ref T7 p7, ref T8 p8);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <typeparam name="TYPE">返回值类型</typeparam>
	/// <typeparam name="T">参数一的类型</typeparam>
	/// <typeparam name="T1">参数二的类型</typeparam>
	/// <typeparam name="T2">参数三的类型</typeparam>
	/// <typeparam name="T3">参数四的类型</typeparam>
	/// <typeparam name="T4">参数五的类型</typeparam>
	/// <typeparam name="T5">参数六的类型</typeparam>
	/// <typeparam name="T6">参数七的类型</typeparam>
	/// <typeparam name="T7">参数八的类型</typeparam>
	/// <typeparam name="T8">参数九的类型</typeparam>
	/// <typeparam name="T9">参数十的类型</typeparam>
	/// <param name="p">参数一</param>
	/// <param name="p1">参数二</param>
	/// <param name="p2">参数三</param>
	/// <param name="p3">参数四</param>
	/// <param name="p4">参数五</param>
	/// <param name="p5">参数六</param>
	/// <param name="p6">参数七</param>
	/// <param name="p7">参数八</param>
	/// <param name="p8">参数九</param>
	/// <param name="p9">参数十</param>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HFunction<TYPE, T, T1, T2, T3, T4, T5, T6, T7, T8, T9>(ref T p, ref T1 p1, ref T2 p2, ref T3 p3, ref T4 p4, ref T5 p5, ref T6 p6, ref T7 p7, ref T8 p8, ref T9 p9);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HFunction<TYPE, T, T1, T2, T3, T4, T5, T6, T7, T8, T9, Ta>(ref T p, ref T1 p1, ref  T2 p2, ref  T3 p3, ref T4 p4, ref T5 p5, ref T6 p6, ref  T7 p7, ref  T8 p8, ref T9 p9, ref  Ta pA);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HFunction<TYPE, T, T1, T2, T3, T4, T5, T6, T7, T8, T9, Ta, Tb>(ref T p, ref T1 p1, ref  T2 p2, ref  T3 p3, ref T4 p4, ref T5 p5, ref T6 p6, ref  T7 p7, ref  T8 p8, ref T9 p9, ref  Ta pA, ref  Tb pB);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HFunction<TYPE, T, T1, T2, T3, T4, T5, T6, T7, T8, T9, Ta, Tb, Tc>(ref T p, ref T1 p1, ref  T2 p2, ref  T3 p3, ref T4 p4, ref T5 p5, ref T6 p6, ref  T7 p7, ref  T8 p8, ref T9 p9, ref  Ta pA, ref  Tb pB, ref  Tc pC);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HFunction<TYPE, T, T1, T2, T3, T4, T5, T6, T7, T8, T9, Ta, Tb, Tc, Td>(ref T p, ref T1 p1, ref  T2 p2, ref  T3 p3, ref T4 p4, ref T5 p5, ref T6 p6, ref  T7 p7, ref  T8 p8, ref T9 p9, ref  Ta pA, ref  Tb pB, ref  Tc pC, ref  Td pD);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HFunction<TYPE, T, T1, T2, T3, T4, T5, T6, T7, T8, T9, Ta, Tb, Tc, Td, Te>(ref T p, ref T1 p1, ref  T2 p2, ref  T3 p3, ref T4 p4, ref T5 p5, ref T6 p6, ref  T7 p7, ref  T8 p8, ref T9 p9, ref  Ta pA, ref  Tb pB, ref  Tc pC, ref  Td pD, ref  Te pE);
	/// <summary>
	/// 有返回值托管
	/// </summary>
	/// <returns>指定类型的返回值</returns>
	[Serializable]
	[ComVisible(true)]
	public delegate TYPE HFunction<TYPE, T, T1, T2, T3, T4, T5, T6, T7, T8, T9, Ta, Tb, Tc, Td, Te, Tf>(ref T p, ref T1 p1, ref  T2 p2, ref  T3 p3, ref T4 p4, ref T5 p5, ref T6 p6, ref  T7 p7, ref  T8 p8, ref T9 p9, ref  Ta pA, ref  Tb pB, ref  Tc pC, ref  Td pD, ref  Te pE, ref  Tf pF);
}
